package Text2;

/*
 *@Student 张策
 */
//public class Work1 {
//    public static void main(String[] args) {
//        SellTick02 sellTick1 = new SellTick02();
//        Thread thread1 = new Thread(sellTick1);
//        Thread thread2 = new Thread(sellTick1);
//        Thread thread3 = new Thread(sellTick1);
//        thread1.start();
//        thread2.start();
//        thread3.start();
//    }
//}
//class SellTick02 implements Runnable{
//    private boolean loop=true;
//
//    public void setLoop(boolean loop) {
//        this.loop = loop;
//    }
//
//    private  int num=100;
//    public synchronized void m(){
//        if(num<=0){
//            System.out.println("售票结束");
//            loop=false;
//            return;
//        }
//        try {
//            Thread.sleep(50);
//        } catch (InterruptedException e) {
//            e.printStackTrace();
//        }
//        System.out.println("票口:"+Thread.currentThread().getName()+"售出一张票"+"剩余:"+(--num));
//    }
//    @Override
//    public  void run() {
//        while (loop){
//            m();
//        }
//    }
//}
//class SellTick02 extends Thread{
//    private static int num=10;
//    @Override
//    public void run() {
//        while (true){
//            if(num==0){
//                System.out.println("售票结束");
//                break;
//            }
//            try {
//                Thread.sleep(50);
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }
//            System.out.println("票口:"+Thread.currentThread().getName()+"售出一张票"+"剩余:"+(--num));
//        }
//    }
//}
//public class Work1 {
//    public static void main(String[] args) {
//        SellTick02 sellTick1 = new SellTick02();
//        Thread thread1 = new Thread(sellTick1);
//        thread1.setName("一号售票处：");
//        Thread thread2 = new Thread(sellTick1);
//        thread2.setName("二号售票处：");
//        Thread thread3 = new Thread(sellTick1);
//        thread3.setName("三号售票处：");
//        thread1.start();
//        thread2.start();
//        thread3.start();
//    }
//}
//class SellTick02 implements Runnable {
//    private int num = 10;
//    private boolean loop=true;
//    public  void sell(){
//
//        synchronized (this) {
//            if (num <= 0) {
//                System.out.println("售票结束");
//                loop=false;
//                return;
//            }
//        }
//        try {
//            Thread.sleep(100);
//        } catch (InterruptedException e) {
//            e.printStackTrace();
//        }
//        System.out.println(Thread.currentThread().getName() + "售出一张票" + "剩余:" + (--num));
//
//    }
//    @Override
//    public synchronized void run() {
//        while (loop) {
//            sell();
//        }
//    }
//}
public class Work1 {
    public static void main(String[] args) {
        SellTick02 sellTick1 = new SellTick02();
        Thread thread1 = new Thread(sellTick1);
        thread1.setName("一号售票处：");
        Thread thread2 = new Thread(sellTick1);
        thread2.setName("二号售票处：");
        Thread thread3 = new Thread(sellTick1);
        thread3.setName("三号售票处：");
        thread1.start();
        thread2.start();
        thread3.start();
    }
}
class SellTick02 implements Runnable {
    private int num = 10;
    @Override
    public  void run() {
            while (true) {
                synchronized (this) {
                if (num <= 0) {
                    System.out.println("售票结束");
                    break;
                }
                System.out.println(Thread.currentThread().getName() + "售出一张票" + "剩余:" + (--num));
            }
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
        }
    }
}
